#ifndef CHANGEBOOKMARKCOMMAND_H
#define CHANGEBOOKMARKCOMMAND_H

#include <QUndoCommand>

class BookmarksManager;
class BookmarkNode;

enum ChangeBookmarkType
{
    changedURL,
    changedTitle,
    changedTags
};

class ChangeBookmarkCommand : public QUndoCommand
{
public:
    ChangeBookmarkCommand(BookmarksManager *bookmarkManager,
                          BookmarkNode *node, const QString &newValue, ChangeBookmarkType type);
    void undo();
    void redo();

private:
    BookmarksManager *m_bookmarkManager;
    ChangeBookmarkType m_type;
    QString m_oldValue;
    QString m_newValue;
    BookmarkNode *m_node;
};

#endif // CHANGEBOOKMARKCOMMAND_H
